home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Diamond Collection
/
The Diamond Collection (Software Vault)(Digital Impact).ISO
/
cdr11
/
gedvw105.zip
/
AHNEN.PRG
next >
Wrap
Text File
|
1995-03-05
|
2KB
|
138 lines
*
* Generates a simple Ahnentafel for current INDI record and save
* it as $LASTNAME.AHN.
*
* for GEDView 1.05
* michael@genealogy.emcee.com - 3 Mar 1995
*
get line
compare INDI $FIELD3
iffailed
goto error
set #index 0
set #ahnen 1
set #counter 1
get name
fixname
set #outfile $LASTNAME.ahn
save $OUTFILE "\I\IAhnentafel for Ancestors of "
append $OUTFILE $FULLNAME
append $OUTFILE "\J"
set #1 $NUMBER
gosub save-it
:repeat
gosub write-data
* get current indi's ahnen
add 1 #counter
* reset
set #ahnen $$COUNTER
* double it for parents
add $$COUNTER #ahnen
gosub get-parents
add 2 #counter
compare $COUNTER $INDEX
ifequal
goto the-end
add -1 #counter
go $$COUNTER
ifescape
goto the-end
goto repeat
:the-end
add -1 #counter
go $$COUNTER
gosub write-data
append $OUTFILE "\J\J--\J\J"
set #width 60
append $OUTFILE "GEDView 1.05\J"
go $1
end
:get-parents
get famc
iffailed
return
fixpointer #field3
go fam $FIELD3
iffailed
return
remember record
get husb
iffailed
goto get-wife
fixpointer $field3
go indi $FIELD3
iffailed
return
gosub save-it
go record
:get-wife
get wife
iffailed
return
fixpointer $field3
go indi $FIELD3
iffailed
return
add 1 #ahnen
gosub save-it
return
:save-it
add 1 #index
set #$INDEX $NUMBER
add 1 #index
set #$INDEX $AHNEN
return
* This assumes that the date record (if it exists)
* follows immediately after the event record.
*
:write-data
add 1 #counter
get name
fixname
append $OUTFILE "\J"
set #width 5
append $OUTFILE $$COUNTER
set #width -0
append $OUTFILE ". "
append $OUTFILE $FULLNAME
add -1 #counter
get birt
iffailed
return
get next line
compare $FIELD2 date
ifequal
gosub print-date2
get deat
iffailed
return
append $OUTFILE " - "
get next line
compare $FIELD2 date
ifequal
append $OUTFILE $FIELD3
return
:print-date2
append $OUTFILE ", "
append $OUTFILE $FIELD3
return
:error
bell
show Not an INDI record. Press a key to continue ...
pause
end